{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## scikit-learn中的SVM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn import datasets\n",
    "\n",
    "iris = datasets.load_iris()\n",
    "\n",
    "X = iris.data\n",
    "y = iris.target\n",
    "\n",
    "X = X[y<2,:2]\n",
    "y = y[y<2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFtZJREFUeJzt3W+MHVd5x/Hf4123YP40L7wiURx7KxEhAQomWRk3IOTG\npiKJFd7wImgpat64tkMVJBCURqJqJKS+QoQ/droNqhrZLWrB/BEySCXQElQlaG2CIRikFOLEVtos\nkYibLmpl++mLmcV37969d869c/aec+73I41279zD7HNmxg+TM8+cMXcXAKAsm8YdAACgfSR3ACgQ\nyR0ACkRyB4ACkdwBoEAkdwAoEMkdAApEcgeAApHcAaBA000bmtmUpEVJF9x9f9d3eyR9TdIv61Un\n3P2BftvbunWrz87OBgULAJPu1KlTv3L3mUHtGid3SfdJOivptet8/1h30u9ndnZWi4uLAX8eAGBm\n55q0azQsY2bbJN0p6eFRggIAbIymY+6flvRRSVf6tLnVzM6Y2TfN7E29GpjZATNbNLPFpaWl0FgB\nAA0NTO5mtl/SC+5+qk+z05K2u/tNkj4r6au9Grn7grvPufvczMzAISMAwJCaXLm/XdJdZvaMpC9K\nus3MjnU2cPeL7v5y/ftJSZvNbGvbwQIAmhmY3N394+6+zd1nJd0t6Tvu/v7ONmZ2rZlZ/fuuersv\nRogXANBASLXMKmZ2UJLc/SFJ75V0yMwuSfqNpLudt4AAwNgEPcTk7v+6Uu7o7g/ViV3u/jl3f5O7\nv8Xdd7v7v8cIFhiL48el2Vlp06bq5/Hj444IGGjoK3dgIhw/Lh04IC0vV5/Pnas+S9L8/PjiAgZg\n+gGgn/vvv5rYVywvV+uBhJHcgX6efTZsPZAIkjvQz/btYeuBRJDcgX4++Ulpy5bV67ZsqdYDCSO5\nA/3Mz0sLC9KOHZJZ9XNhgZupSB7VMsAg8/Mkc2SHK3cAKBDJHQAKRHIHgAKR3AGgQCR3ACgQyR0A\nCkRyB4ACkdwBoEAkdwAoEMkd5eClGsBvMf0AysBLNYBVuHJHGXipBrAKyR1l4KUawCokd5SBl2oA\nq5DcUQZeqgGsQnJHGXipBrAK1TIoBy/VAH6LK3eMjvpyIDlcuWM01JcDSeLKHaOhvhxIEskdo6G+\nHEgSyR2job4cSBLJHaOhvhxIEskdo6G+HEhS42oZM5uStCjpgrvv7/rOJD0o6Q5Jy5L+xN1Ptxko\nEkZ9OZCckCv3+ySdXee72yXdWC8HJB0dMS4gT9T8IxGNkruZbZN0p6SH12nyHkmPeOVxSdeY2XUt\nxQjkYaXm/9w5yf1qzT8JHmPQ9Mr905I+KunKOt9fL+m5js/n63XA5KDmHwkZmNzNbL+kF9z91Kh/\nzMwOmNmimS0uLS2NujkgLdT8IyFNrtzfLukuM3tG0hcl3WZmx7raXJB0Q8fnbfW6Vdx9wd3n3H1u\nZmZmyJCBRFHzj4QMTO7u/nF33+bus5LulvQdd39/V7OvS/qAVXZLesndn28/XCBh1PwjIUPXuZvZ\nQTM7WH88KekXkp6W9LeSDrcQG5AXav6REHP3sfzhubk5X1xcHMvfBoBcmdkpd58b1I4nVJGuw4el\n6enqKnh6uvoMoBHmc0eaDh+WjnY8C3f58tXPR46MJyYgI1y5I00LC2HrAaxCckeaLl8OWw9gFZI7\n0jQ1FbYewCokd6Rp5T2sTdcDWIUbqkjTyk3ThYVqKGZqqkrs3EwFGiG5I11HjpDMgSExLIPe9u2r\n6stXln37xh3R+DBHOzJEcsda+/ZJjz66et2jj05mgmeOdmSK6Qewltn6343pfBmb2dkqoXfbsUN6\n5pmNjgZg+gGgFczRjkyR3IF+mKMdmSK5Y629e8PWl4w52pEpkjvW+va31ybyvXur9ZOGOdqRKW6o\nAkBGuKGK0cSq7Q7ZLvXlwNB4QhVrrdR2Ly9Xn1dqu6XRhiNCthsrBmBCMCyDtWLVdodsl/pyoCeG\nZTC8WLXdIdulvhwYCckda8Wq7Q7ZLvXlwEhI7lgrVm13yHapLwdGQnLHWrFqu0O2S305MBJuqAJA\nRrihGluONdg5xgxgKNS5DyPHGuwcYwYwNIZlhpFjDXaOMQNYg2GZmHKswc4xZgBDI7kPI8ca7Bxj\nBjA0kvswcqzBzjFmAEMjuQ8jxxrsHGMGMLSBN1TN7BWSvifpd1VV13zJ3f+yq80eSV+T9Mt61Ql3\nf6DfdrO+oQoAY9LmDdX/lXSbu79F0k5J7zaz3T3aPebuO+ulb2LHmBw+LE1PV1fu09PV5zbaplI/\nn0ocQAIG1rl7dWn/cv1xc72Mp34Swzt8WDp69Orny5evfj5yZPi2qdTPpxIHkIhGde5mNiXplKTX\nS/q8u3+s6/s9kk5IOi/pgqSPuPtT/bbJsMwGm56uknS3qSnp0qXh26ZSP59KHEBkrda5u/tld98p\naZukXWb25q4mpyVtd/ebJH1W0lfXCeqAmS2a2eLS0lKTP4229ErW660PaZtK/XwqcQCJCKqWcfdf\nS/qupHd3rb/o7i/Xv5+UtNnMtvb43y+4+5y7z83MzIwQNoJNTTVfH9I2lfr5VOIAEjEwuZvZjJld\nU//+SknvkvSzrjbXmpnVv++qt/ti++FiaCvjz03Wh7RNpX4+lTiAVLh730XSTZJ+KOmMpJ9I+kS9\n/qCkg/XvH5T0lKQfSXpc0q2DtnvLLbc4NtihQ+5TU+5S9fPQoXbaHjvmvmOHu1n189ixtiNvJpU4\ngIgkLfqA/OruTBwGADlh4rDYYtVUh9SXx9x2SP9y3BeZoYQfwZpc3sdYsh6WOXbMfcuWashiZdmy\nZfRhgEOHVm9zZek3JBJj2yH9y3FfZCbWLkaexLBMRLFqqkPqy2NuO6R/Oe6LzFDCj05Nh2VI7sPY\ntKm6gOpmJl25Mvx2q4Kj3kY9TiHbDulfjvsiM7F2MfLEmHtMsWqqQ+rLY247pH857ovMUMKPYZDc\nhxGrpjqkvjzmtkP6l+O+yAwl/BhKk4H5GEvWN1Td49VUh9SXx9x2SP9y3BeZoYQfK8QNVQAoD2Pu\nWCuF2nVkjdMiHwPnc0chQuY7Z2509MBpkReGZSZFCrXryBqnRRoYlsFqIfOdMzc6euC0yAvJfVKk\nULuOrHFa5IXkPilSqF1H1jgt8kJynxTz89LCQjVAalb9XFjofScspC0mBqdFXrihCgAZ4YbqiliF\nuSHbTWVecoqUk1L64Si9fyHGsi+aPMYaY9mQ6QdiTYQdst1U5iVnUvCklH44Su9fiLb3hZh+QPEK\nc0O2m8q85BQpJ6X0w1F6/0K0vS+Yz12KNxF2yHZTmZecScGTUvrhKL1/IdreF4y5S/EKc0O2m8q8\n5BQpJ6X0w1F6/0KMa1+UndxjFeaGbDeVeckpUk5K6Yej9P6FGNu+aDIwH2PZsPncY02EHbLdVOYl\nZ1LwpJR+OErvX4g294W4oQoA5WHMPbYU6uf37avuyqws+/a1EwNQkFiPmSRfx9/k8j7GkvVr9lKo\nn9+7t3f9/N69o8UAFCTWYybjrOMXwzIRpVA/n0qJJZCwWI+ZjLOOn2GZmGJNbM2E2UCreiX2fuub\nyuGfKsl9GCnUzwMYKNZjJjn8UyW5DyOF+vm9e3tvY731wASK9ZhJFnX8TQbmYyxZ31B1T6N+vvum\nKjdTgTViPWYyrjp+cUMVAMrT2g1VM3uFmf3AzH5kZk+Z2V/1aGNm9hkze9rMzpjZzcMGPlBocWny\nxahdQopyC98XMcONuZubitm/zA51kMJP+/YMurSXZJJeXf++WdITknZ3tblD0jfrtrslPTFou0MN\ny4QWl+Y2qXRIUW7h+yJmuDF3c1Mx+5fZoQ5S+GnfiBoOywSNk0vaIum0pLd1rf8bSe/r+PxzSdf1\n29ZQyX3Hjt7/KnfsaKf9uK0MDHYvU1Nr2xa+L2KGG3M3NxWzf5kd6iCFn/aNNE3ujcbczWxK0ilJ\nr5f0eXf/WNf335D01+7+/frzo5I+5u6LXe0OSDogSdu3b7/lXK+nAPoJnRg5t0mlQx5MKnxfxAw3\n5m5uKmb/MjvUQQo/7Rtp9SEmd7/s7jslbZO0y8zePExQ7r7g7nPuPjczMxO+gdDi0hyKUTuFFOUW\nvi9ihhtzNzcVs3+ZHeoghZ/2rQqqc3f3X0v6rqR3d311QdINHZ+31evaFVpcmkUxaoeQotzC90XM\ncGPu5qZi9i+zQx2k8NO+XYPGbSTNSLqm/v2Vkh6TtL+rzZ1afUP1B4O2O3Sde2hxaW6TSocU5Ra+\nL2KGG3M3NxWzf5kd6iCFn/YDqa0xdzO7SdLfS5pSdaX/T+7+gJkdrP/P4SEzM0mfU3VFvyzpHu8a\nb+9GnTsAhGs65j49qIG7n5H01h7rH+r43SXdGxokACCO8ueWmdgnGNBPyGmRwikU88Gd3B7SSuF4\nZKHJ2E2MZUPmlinxCQaMLOS0SOEUivngTm4PaaVwPMZNzC2j8c6oj2SFnBYpnEKhMaTQv9y2m5Om\nY+5lJ/cSn2DAyEJOixROoZgP7uT2kFYKx2PceBOTNNlPMGBdIadFCqdQzAd3cntIK4XjkYuyk/tE\nP8GA9YScFimcQjEf3MntIa0Ujkc2mgzMx1g27GUdpT3BgFaEnBYpnEIxH9zJ7SGtFI7HOIkbqgBQ\nHsbcgZaEvNgjFbnFnErteipxtKLJ5X2MJft3qGIihLzYIxW5xZxK7XoqcQwihmWA0U1PS5cvr10/\nNSVdurTx8TSRW8yp1K6nEscgDMsALeiVJPutT0FuMT/7bNj60uNoC8kd6CPkxR6pyC3mVGrXU4mj\nLSR3oI+QF3ukIreYU6ldTyWO1jQZmI+xcEMVuQh5sUcqcos5ldr1VOLoR9xQBYDycEMVGybH2uBY\nMceqL89xH2PMmlzex1gYlilDLrXBnWLFHKu+PMd9jHjEsAw2Qi61wZ1ixRyrvjzHfYx4GJbBhsix\nNjhWzLHqy3Pcxxg/kjtGkmNtcKyYY9WX57iPMX4kd4wkx9rgWDHHqi/PcR8jAU0G5mMs3FAtRw61\nwd1ixRyrvjzHfYw4xA1VACgPN1QxcWLVgodsl3p0pGJ63AEAbTh+vBrbXl6uPp87d3Wse35+Y7Yb\nKwZgGAzLoAixasFDtks9OjYCwzKYKLFqwUO2Sz06UkJyRxFi1YKHbJd6dKSE5I4ixKoFD9ku9ehI\nCckdRZiflxYWqvFts+rnwsLoNzJDthsrBmAYA2+omtkNkh6R9DpJLmnB3R/sarNH0tck/bJedcLd\nH+i3XW6oAkC4Nm+oXpL0YXd/o6Tdku41szf2aPeYu++sl76JHenLsV6bevT42G8ZafIYa+ei6gr9\nXV3r9kj6Rsh2mH4gXTnOHx4Sc479SwH7LQ2KMf2Amc1K+p6kN7v7xY71eySdkHRe0gVJH3H3p/pt\ni2GZdOVYr009enzstzQ0HZZpnNzN7NWS/k3SJ939RNd3r5V0xd1fNrM7JD3o7jf22MYBSQckafv2\n7bec63WmYOw2baquy7qZSVeubHw8TYTEnGP/UsB+S0OrDzGZ2WZJX5Z0vDuxS5K7X3T3l+vfT0ra\nbGZbe7RbcPc5d5+bmZlp8qcxBjnWa1OPHh/7LS8Dk7uZmaQvSDrr7p9ap821dTuZ2a56uy+2GSg2\nTo712tSjx8d+y8ygQXlJ71BVAnlG0pP1coekg5IO1m0+KOkpST+S9LikWwdtlxuqactx/vCQmHPs\nXwrYb+Mn5nMHgPIwcdgEoOZ4tcOHpenp6gbf9HT1GZhUzOeeKeYOX+3wYeno0aufL1+++vnIkfHE\nBIwTwzKZouZ4tenpKqF3m5qSLl3a+HiAWBiWKRxzh6/WK7H3Ww+UjuSeKWqOV5uaClsPlI7knilq\njldbud/QdD1QOpJ7ppg7fLUjR6RDh65eqU9NVZ+5mYpJxQ1VAMgIN1SHUXjheOHdK75/KWAfZ6TJ\nY6wxluSmHyh8surCu1d8/1LAPk6DmH4gUOGF44V3r/j+pYB9nIbW53NvW3LJvfDJqgvvXvH9SwH7\nOA2MuYcqvHC88O4V378UsI/zQnJfUXjheOHdK75/KWAf54XkvqLwwvHCu1d8/1LAPs4LY+4AkBHG\n3IGCxKwvp3a9TMznDiQu5tz9vBegXAzLAImLWV9O7Xp+GJYBChFz7n7eC1AukjuQuJj15dSul4vk\nDiQuZn05tevlIrkDiYtZX07term4oQoAGeGGKgBMMJI7ABSI5A4ABSK5A0CBSO4AUCCSOwAUiOQO\nAAUiuQNAgQYmdzO7wcy+a2Y/NbOnzOy+Hm3MzD5jZk+b2RkzuzlOuBgF83YDk6PJfO6XJH3Y3U+b\n2WsknTKzf3H3n3a0uV3SjfXyNklH659IBPN2A5Nl4JW7uz/v7qfr3/9b0llJ13c1e4+kR7zyuKRr\nzOy61qPF0O6//2piX7G8XK0HUJ6gMXczm5X0VklPdH11vaTnOj6f19r/A5CZHTCzRTNbXFpaCosU\nI2HebmCyNE7uZvZqSV+W9CF3vzjMH3P3BXefc/e5mZmZYTaBITFvNzBZGiV3M9usKrEfd/cTPZpc\nkHRDx+dt9Tokgnm7gcnSpFrGJH1B0ll3/9Q6zb4u6QN11cxuSS+5+/MtxokRMW83MFmaVMu8XdIf\nS/qxmT1Zr/sLSdslyd0fknRS0h2Snpa0LOme9kPFqObnSebApBiY3N39+5JsQBuXdG9bQQEARsMT\nqgBQIJI7ABSI5A4ABSK5A0CBSO4AUCCSOwAUiOQOAAWyqkR9DH/YbEnSubH88cG2SvrVuIOIiP7l\nq+S+SfSviR3uPnByrrEl95SZ2aK7z407jljoX75K7ptE/9rEsAwAFIjkDgAFIrn3tjDuACKjf/kq\nuW8S/WsNY+4AUCCu3AGgQBOd3M1sysx+aGbf6PHdHjN7ycyerJdPjCPGYZnZM2b24zr2xR7fm5l9\nxsyeNrMzZnbzOOIcVoP+5X78rjGzL5nZz8zsrJn9Qdf3uR+/Qf3L9viZ2Rs64n7SzC6a2Ye62kQ/\nfk1e1lGy+ySdlfTadb5/zN33b2A8bftDd1+vpvZ2STfWy9skHa1/5qRf/6S8j9+Dkr7l7u81s9+R\n1PWSxOyP36D+SZkeP3f/uaSdUnUBqeqVo1/pahb9+E3slbuZbZN0p6SHxx3LmLxH0iNeeVzSNWZ2\n3biDgmRmvyfpnapebyl3/z93/3VXs2yPX8P+lWKvpP9w9+4HNqMfv4lN7pI+Lemjkq70aXNr/Z9M\n3zSzN21QXG1xSd82s1NmdqDH99dLeq7j8/l6XS4G9U/K9/j9vqQlSX9XDxs+bGav6mqT8/Fr0j8p\n3+PX6W5J/9hjffTjN5HJ3cz2S3rB3U/1aXZa0nZ3v0nSZyV9dUOCa8873H2nqv/8u9fM3jnugFo2\nqH85H79pSTdLOurub5X0P5L+fLwhtapJ/3I+fpKkerjpLkn/PI6/P5HJXdVLv+8ys2ckfVHSbWZ2\nrLOBu19095fr309K2mxmWzc80iG5+4X65wuqxvt2dTW5IOmGjs/b6nVZGNS/zI/feUnn3f2J+vOX\nVCXDTjkfv4H9y/z4rbhd0ml3/68e30U/fhOZ3N394+6+zd1nVf1n03fc/f2dbczsWjOz+vddqvbV\nixse7BDM7FVm9pqV3yX9kaSfdDX7uqQP1Hftd0t6yd2f3+BQh9KkfzkfP3f/T0nPmdkb6lV7Jf20\nq1m2x69J/3I+fh3ep95DMtIGHL9Jr5ZZxcwOSpK7PyTpvZIOmdklSb+RdLfn88TX6yR9pf63MS3p\nH9z9W139OynpDklPS1qWdM+YYh1Gk/7lfPwk6c8kHa//0/4Xku4p6PhJg/uX9fGrLzreJelPO9Zt\n6PHjCVUAKNBEDssAQOlI7gBQIJI7ABSI5A4ABSK5A0CBSO4AUCCSOwAUiOQOAAX6f+v3SJu9PSdM\nAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10f4e3c50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[y==0,0], X[y==0,1], color='red')\n",
    "plt.scatter(X[y==1,0], X[y==1,1], color='blue')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "standardScaler = StandardScaler()\n",
    "standardScaler.fit(X)\n",
    "X_standard = standardScaler.transform(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearSVC(C=1000000000.0, class_weight=None, dual=True, fit_intercept=True,\n",
       "     intercept_scaling=1, loss='squared_hinge', max_iter=1000,\n",
       "     multi_class='ovr', penalty='l2', random_state=None, tol=0.0001,\n",
       "     verbose=0)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.svm import LinearSVC\n",
    "\n",
    "svc = LinearSVC(C=1e9)\n",
    "svc.fit(X_standard, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def plot_decision_boundary(model, axis):\n",
    "    \n",
    "    x0, x1 = np.meshgrid(\n",
    "        np.linspace(axis[0], axis[1], int((axis[1]-axis[0])*100)).reshape(-1, 1),\n",
    "        np.linspace(axis[2], axis[3], int((axis[3]-axis[2])*100)).reshape(-1, 1),\n",
    "    )\n",
    "    X_new = np.c_[x0.ravel(), x1.ravel()]\n",
    "\n",
    "    y_predict = model.predict(X_new)\n",
    "    zz = y_predict.reshape(x0.shape)\n",
    "\n",
    "    from matplotlib.colors import ListedColormap\n",
    "    custom_cmap = ListedColormap(['#EF9A9A','#FFF59D','#90CAF9'])\n",
    "    \n",
    "    plt.contourf(x0, x1, zz, linewidth=5, cmap=custom_cmap)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nQ20VeAl5AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10d42ff28>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_decision_boundary(svc, axis=[-3, 3, -3, 3])\n",
    "plt.scatter(X_standard[y==0,0], X_standard[y==0,1])\n",
    "plt.scatter(X_standard[y==1,0], X_standard[y==1,1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearSVC(C=0.01, class_weight=None, dual=True, fit_intercept=True,\n",
       "     intercept_scaling=1, loss='squared_hinge', max_iter=1000,\n",
       "     multi_class='ovr', penalty='l2', random_state=None, tol=0.0001,\n",
       "     verbose=0)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svc2 = LinearSVC(C=0.01)\n",
    "svc2.fit(X_standard, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11283c0b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_decision_boundary(svc2, axis=[-3, 3, -3, 3])\n",
    "plt.scatter(X_standard[y==0,0], X_standard[y==0,1])\n",
    "plt.scatter(X_standard[y==1,0], X_standard[y==1,1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 4.03243305, -2.49295041]])"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svc.coef_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 0.9536471])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svc.intercept_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def plot_svc_decision_boundary(model, axis):\n",
    "    \n",
    "    x0, x1 = np.meshgrid(\n",
    "        np.linspace(axis[0], axis[1], int((axis[1]-axis[0])*100)).reshape(-1, 1),\n",
    "        np.linspace(axis[2], axis[3], int((axis[3]-axis[2])*100)).reshape(-1, 1),\n",
    "    )\n",
    "    X_new = np.c_[x0.ravel(), x1.ravel()]\n",
    "\n",
    "    y_predict = model.predict(X_new)\n",
    "    zz = y_predict.reshape(x0.shape)\n",
    "\n",
    "    from matplotlib.colors import ListedColormap\n",
    "    custom_cmap = ListedColormap(['#EF9A9A','#FFF59D','#90CAF9'])\n",
    "    \n",
    "    plt.contourf(x0, x1, zz, linewidth=5, cmap=custom_cmap)\n",
    "    \n",
    "    w = model.coef_[0]\n",
    "    b = model.intercept_[0]\n",
    "    \n",
    "    # w0*x0 + w1*x1 + b = 0\n",
    "    # => x1 = -w0/w1 * x0 - b/w1\n",
    "    plot_x = np.linspace(axis[0], axis[1], 200)\n",
    "    up_y = -w[0]/w[1] * plot_x - b/w[1] + 1/w[1]\n",
    "    down_y = -w[0]/w[1] * plot_x - b/w[1] - 1/w[1]\n",
    "    \n",
    "    up_index = (up_y >= axis[2]) & (up_y <= axis[3])\n",
    "    down_index = (down_y >= axis[2]) & (down_y <= axis[3])\n",
    "    plt.plot(plot_x[up_index], up_y[up_index], color='black')\n",
    "    plt.plot(plot_x[down_index], down_y[down_index], color='black')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11496f080>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_svc_decision_boundary(svc, axis=[-3, 3, -3, 3])\n",
    "plt.scatter(X_standard[y==0,0], X_standard[y==0,1])\n",
    "plt.scatter(X_standard[y==1,0], X_standard[y==1,1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x114917c88>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_svc_decision_boundary(svc2, axis=[-3, 3, -3, 3])\n",
    "plt.scatter(X_standard[y==0,0], X_standard[y==0,1])\n",
    "plt.scatter(X_standard[y==1,0], X_standard[y==1,1])\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
